Source: FEMA, National Risk Index, October 2020 release.
The National Risk Index is intended to provide a view of the natural hazard risk within communities. While FEMA includes information on 18 natural hazards, we focus on six – coastal flooding, drought, heat wave, hurricane, riverine flooding, and strong wind – pulling measures on
The NRI uses data on natural hazards from multiple sources and estimates natural hazard frequency, exposure, and historic loss at the census tract level.
To learn more, see:
glimpse(nri)
## Rows: 50
## Columns: 76
## $ OID_ <dbl> 47346, 47471, 48413, 48503, 48508, 48509, 48904, 48905, 489…
## $ NRI_ID <chr> "T51065020101", "T51065020300", "T51003010201", "T510790301…
## $ STATE <chr> "Virginia", "Virginia", "Virginia", "Virginia", "Virginia",…
## $ STATEABBRV <chr> "VA", "VA", "VA", "VA", "VA", "VA", "VA", "VA", "VA", "VA",…
## $ STATEFIPS <dbl> 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,…
## $ COUNTY <chr> "Fluvanna", "Fluvanna", "Albemarle", "Greene", "Albemarle",…
## $ COUNTYTYPE <chr> "County", "County", "County", "County", "County", "County",…
## $ COUNTYFIPS <chr> "065", "065", "003", "079", "003", "003", "003", "003", "07…
## $ STCOFIPS <dbl> 51065, 51065, 51003, 51079, 51003, 51003, 51003, 51003, 510…
## $ TRACT <chr> "020101", "020300", "010201", "030102", "010800", "011000",…
## $ TRACTFIPS <dbl> 51065020101, 51065020300, 51003010201, 51079030102, 5100301…
## $ POPULATION <dbl> 5571, 5311, 4664, 5393, 5325, 6292, 3765, 3738, 9145, 9341,…
## $ BUILDVALUE <dbl> 551401000, 530703000, 589443000, 569304000, 707799000, 1265…
## $ AGRIVALUE <dbl> 1000124.0179, 2454071.5733, 998608.4291, 2592134.2808, 1253…
## $ AREA <dbl> 43.2172270, 101.6045726, 27.0136979, 63.8718600, 5.3042504,…
## $ CFLD_EVNTS <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_AFREQ <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPB <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPP <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPPE <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_EXPT <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_HLRB <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_HLRP <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ CFLD_HLRR <chr> "Not Applicable", "Not Applicable", "Not Applicable", "Not …
## $ DRGT_EVNTS <dbl> 126, 154, 70, 70, 77, 77, 91, 91, 63, 105, 154, 70, 98, 126…
## $ DRGT_AFREQ <dbl> 7.000000, 8.555556, 3.888889, 3.888889, 4.277778, 4.277778,…
## $ DRGT_EXPB <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_EXPP <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_EXPPE <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_EXPA <dbl> 611186.8998, 2096304.6178, 898747.5862, 2592134.2808, 12536…
## $ DRGT_EXPT <dbl> 611186.8998, 2096304.6178, 898747.5862, 2592134.2808, 12536…
## $ DRGT_HLRB <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_HLRP <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
## $ DRGT_HLRA <dbl> 0.003197017, 0.003197017, 0.003222722, 0.004763245, 0.00322…
## $ DRGT_HLRR <chr> "Very High", "Very High", "Very High", "Very High", "Very H…
## $ HWAV_EVNTS <dbl> 8, 8, 6, 6, 6, 6, 6, 6, 12, 8, 5, 6, 6, 8, 5, 12, 6, 6, 6, …
## $ HWAV_AFREQ <dbl> 0.6589786, 0.6589786, 0.4942339, 0.3947789, 0.4942339, 0.49…
## $ HWAV_EXPB <dbl> 551400513, 530702957, 589442851, 546678926, 707799000, 1265…
## $ HWAV_EXPP <dbl> 5570.997, 5311.000, 4663.998, 5231.000, 5325.000, 6291.996,…
## $ HWAV_EXPPE <dbl> 41225376461, 39301398589, 34513586247, 38709396581, 3940500…
## $ HWAV_EXPT <dbl> 41776776974, 39832101546, 35103029097, 39256075507, 4011279…
## $ HWAV_HLRB <dbl> 1.169e-12, 1.169e-12, 1.169e-12, 1.169e-12, 1.169e-12, 1.16…
## $ HWAV_HLRP <dbl> 3.971792e-07, 3.971792e-07, 1.058701e-07, 5.350162e-07, 1.0…
## $ HWAV_HLRR <chr> "Very Low", "Very Low", "Very Low", "Relatively Low", "Very…
## $ HRCN_EVNTS <dbl> 6, 7, 9, 9, 9, 9, 9, 9, 9, 6, 8, 9, 9, 5, 8, 9, 8, 8, 8, 4,…
## $ HRCN_AFREQ <dbl> 0.06582491, 0.06589680, 0.07046340, 0.07180899, 0.06582491,…
## $ HRCN_EXPB <dbl> 550733910, 530380270, 589442851, 569303923, 704074505, 1265…
## $ HRCN_EXPP <dbl> 5564.073, 5307.788, 4663.998, 5393.000, 5312.928, 6291.648,…
## $ HRCN_EXPPE <dbl> 41174136929, 39277633809, 34513586247, 39908196307, 3931566…
## $ HRCN_EXPT <dbl> 41724870839, 39808014079, 35103029097, 40477500230, 4001973…
## $ HRCN_HLRB <dbl> 0.0001627591, 0.0001627591, 0.0001627591, 0.0001627591, 0.0…
## $ HRCN_HLRP <dbl> 1.432476e-06, 1.432476e-06, 1.432476e-06, 1.599039e-06, 1.4…
## $ HRCN_HLRR <chr> "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",…
## $ RFLD_EVNTS <dbl> 3, 3, 59, 37, 59, 59, 59, 59, 37, 3, 44, 59, 59, 7, 44, 59,…
## $ RFLD_AFREQ <dbl> 0.1363636, 0.1363636, 2.6818182, 1.6818182, 2.6818182, 2.68…
## $ RFLD_EXPB <dbl> 1649205.9, 3600534.0, 14450941.1, 3620317.5, 699096.0, 2420…
## $ RFLD_EXPP <dbl> 11.836098, 35.576304, 102.666978, 36.554255, 5.629246, 120.…
## $ RFLD_EXPPE <dbl> 87587125, 263264651, 759735634, 270501484, 41656421, 893340…
## $ RFLD_EXPA <dbl> 50281.8794, 168074.2006, 44928.6765, 85771.0354, 488.6131, …
## $ RFLD_EXPT <dbl> 89286613, 267033259, 774231504, 274207572, 42356006, 917627…
## $ RFLD_HLRB <dbl> 2.251579e-04, 2.251579e-04, 4.212615e-05, 2.905738e-03, 4.2…
## $ RFLD_HLRP <dbl> 4.003475e-05, 4.003475e-05, 9.587986e-06, 4.040050e-06, 9.5…
## $ RFLD_HLRA <dbl> 0.009312590, 0.009312590, 0.011180959, 0.009741927, 0.01118…
## $ RFLD_HLRR <chr> "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",…
## $ SWND_EVNTS <dbl> 369, 368, 390, 396, 368, 369, 369, 368, 397, 369, 363, 369,…
## $ SWND_AFREQ <dbl> 11.53125, 11.52825, 12.20950, 12.40625, 11.53125, 11.53125,…
## $ SWND_EXPB <dbl> 551401000, 530703000, 589443000, 569304000, 707799000, 1265…
## $ SWND_EXPP <dbl> 5571, 5311, 4664, 5393, 5325, 6292, 3765, 3738, 9145, 9341,…
## $ SWND_EXPPE <dbl> 41225400000, 39301400000, 34513600000, 39908200000, 3940500…
## $ SWND_EXPA <dbl> 1000124.0179, 2454071.5733, 998608.4291, 2592134.2808, 1253…
## $ SWND_EXPT <dbl> 41777801124, 39834557072, 35104041608, 40480096134, 4011292…
## $ SWND_HLRB <dbl> 8.246272e-06, 8.246272e-06, 2.383243e-06, 7.876500e-06, 2.3…
## $ SWND_HLRP <dbl> 2.889675e-07, 2.889675e-07, 3.395608e-07, 2.939429e-07, 3.3…
## $ SWND_HLRA <dbl> 0.0001960432, 0.0001960432, 0.0003132078, 0.0002843516, 0.0…
## $ SWND_HLRR <chr> "Very Low", "Very Low", "Very Low", "Very Low", "Very Low",…
## $ NRI_VER <chr> "October 2020", "October 2020", "October 2020", "October 20…
Observations are census tract estimates of…
5-number summaries of (non-missing) numeric variables (remove tract identifiers)
nri %>% select(-c(OID_:STATEFIPS, COUNTYTYPE:TRACTFIPS, NRI_VER)) %>%
select(where(~is.numeric(.x) && !is.na(.x))) %>%
as.data.frame() %>%
stargazer(., type = "text", title = "Summary Statistics", digits = 0,
summary.stat = c("mean", "sd", "min", "median", "max"))
##
## Summary Statistics
## =====================================================================================
## Statistic Mean St. Dev. Min Median Max
## -------------------------------------------------------------------------------------
## POPULATION 4,694 1,741 1,900 4,382 9,341
## BUILDVALUE 600,914,960 274,394,213 210,947,000 559,413,000 1,352,245,000
## AGRIVALUE 1,701,520 2,542,400 0 931,421 13,226,654
## AREA 43 53 0 18 195
## DRGT_EVNTS 97 24 63 91 161
## DRGT_AFREQ 5 1 4 5.1 9
## DRGT_EXPA 1,372,734 2,012,315 0 596,796 8,841,211
## DRGT_EXPT 1,372,734 2,012,315 0 596,796 8,841,211
## DRGT_HLRA 0 0 0 0 0
## HWAV_EVNTS 7 2 5 6 12
## HWAV_AFREQ 1 0 0 0 1
## HWAV_EXPB 594,263,002 268,213,179 210,947,000 549,039,719 1,352,244,990
## HWAV_EXPP 4,678 1,740 1,900 4,351 9,341
## HWAV_EXPPE 34,615,220,205 12,878,768,794 14,060,000,000 32,197,399,778 69,123,399,489
## HWAV_EXPT 35,209,483,206 13,089,228,055 14,270,947,000 32,668,421,302 70,475,644,479
## HWAV_HLRB 0 0 0 0 0
## HWAV_HLRP 0 0 0 0 0
## HRCN_EVNTS 8 1 4 9 9
## HRCN_AFREQ 0 0 0 0 0
## HRCN_EXPB 599,680,668 274,451,546 210,947,000 559,079,443 1,349,737,674
## HRCN_EXPP 4,689 1,744 1,900 4,382 9,321
## HRCN_EXPPE 34,695,606,309 12,903,118,962 14,060,000,000 32,426,797,882 68,974,004,894
## HRCN_EXPT 35,295,286,977 13,115,107,535 14,270,947,000 32,941,525,397 70,323,742,568
## HRCN_HLRB 0 0 0 0 0
## HRCN_HLRP 0 0 0 0 0
## RFLD_EVNTS 30 25 0 15 59
## RFLD_AFREQ 1 1 0 1 3
## RFLD_EXPB 13,388,752 13,835,303 0 8,427,838 54,305,747
## RFLD_EXPP 89 93 0 62 416
## RFLD_EXPPE 661,263,174 690,685,745 0 460,988,960 3,081,542,905
## RFLD_EXPA 153,755 313,700 0 38,504 1,708,403
## RFLD_EXPT 674,805,682 703,954,174 0 469,495,154 3,137,557,055
## RFLD_HLRB 0 0 0 0 0
## RFLD_HLRP 0 0 0 0 0
## RFLD_HLRA 0 0 0 0 0
## SWND_EVNTS 369 9 354 368 397
## SWND_AFREQ 12 0 11 12 12
## SWND_EXPB 600,914,960 274,394,213 210,947,000 559,413,000 1,352,245,000
## SWND_EXPP 4,694 1,741 1,900 4,382 9,341
## SWND_EXPPE 34,737,376,000 12,882,414,388 14,060,000,000 32,426,800,000 69,123,400,000
## SWND_EXPA 1,701,520 2,542,400 0 931,421 13,226,654
## SWND_EXPT 35,339,992,480 13,094,503,181 14,270,950,433 32,954,976,874 70,475,710,779
## SWND_HLRB 0 0 0 0 0
## SWND_HLRP 0 0 0 0 0
## SWND_HLRA 0 0 0 0 0
## -------------------------------------------------------------------------------------
Summaries of (non-missing) character variables (remove tract identifiers)
nri %>% select(-c(OID_:STATEFIPS, COUNTYTYPE:TRACTFIPS, NRI_VER)) %>%
select(where (~is.character(.x))) %>% map(tabyl)
## $COUNTY
## .x[[i]] n percent
## Albemarle 22 0.44
## Charlottesville 12 0.24
## Fluvanna 4 0.08
## Greene 3 0.06
## Louisa 6 0.12
## Nelson 3 0.06
##
## $CFLD_HLRR
## .x[[i]] n percent
## Not Applicable 50 1
##
## $DRGT_HLRR
## .x[[i]] n percent
## No Rating 12 0.24
## Relatively Moderate 9 0.18
## Very High 29 0.58
##
## $HWAV_HLRR
## .x[[i]] n percent
## Relatively Low 3 0.06
## Very Low 47 0.94
##
## $HRCN_HLRR
## .x[[i]] n percent
## Very Low 50 1
##
## $RFLD_HLRR
## .x[[i]] n percent
## No Rating 8 0.16
## Very Low 42 0.84
##
## $SWND_HLRR
## .x[[i]] n percent
## Very Low 50 1
Frequency distribution across tracts:
nri %>% select(TRACTFIPS:AREA) %>%
pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>%
ggplot(aes(x = value, fill = measure)) +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
geom_histogram() +
facet_wrap(~measure, scales = "free")
nri %>% select(contains("DRGT"), TRACTFIPS) %>% select(-contains("HLRR")) %>%
pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>%
ggplot(aes(x = value, fill = measure)) +
geom_histogram() +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
facet_wrap(~measure, scales = "free")
nri %>% select(contains("HWAV"), TRACTFIPS) %>% select(-contains("HLRR")) %>%
pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>%
ggplot(aes(x = value, fill = measure)) +
geom_histogram() +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
facet_wrap(~measure, scales = "free")
nri %>% select(contains("HRCN"), TRACTFIPS) %>% select(-contains("HLRR")) %>%
pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>%
ggplot(aes(x = value, fill = measure)) +
geom_histogram() +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
facet_wrap(~measure, scales = "free")
nri %>% select(contains("RFLD"), TRACTFIPS) %>% select(-contains("HLRR")) %>%
pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>%
ggplot(aes(x = value, fill = measure)) +
geom_histogram() +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
facet_wrap(~measure, scales = "free")
nri %>% select(contains("SWND"), TRACTFIPS) %>% select(-contains("HLRR")) %>%
pivot_longer(-TRACTFIPS, names_to = "measure", values_to = "value") %>%
ggplot(aes(x = value, fill = measure)) +
geom_histogram() +
scale_fill_viridis(option = "plasma", discrete = TRUE, guide = FALSE) +
facet_wrap(~measure, scales = "free")
Variation across tracts
# DRGT
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$DRGT_AFREQ) # viridis
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = cville_nri,
fillColor = ~pal(DRGT_AFREQ),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
"Ann. Freq.: ", round(cville_nri$DRGT_AFREQ, 2))
) %>%
addLegend("bottomright", pal = pal, values = cville_nri$DRGT_AFREQ,
title = "Drought-#/year", opacity = 0.7)
# HWAV
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$HWAV_AFREQ) # viridis
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = cville_nri,
fillColor = ~pal(HWAV_AFREQ),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
"Ann. Freq.: ", round(cville_nri$HWAV_AFREQ, 2))
) %>%
addLegend("bottomright", pal = pal, values = cville_nri$HWAV_AFREQ,
title = "Heat Wave-#/year", opacity = 0.7)
# HRCN
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$HRCN_AFREQ) # viridis
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = cville_nri,
fillColor = ~pal(HRCN_AFREQ),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
"Ann. Freq.: ", round(cville_nri$HRCN_AFREQ, 2))
) %>%
addLegend("bottomright", pal = pal, values = cville_nri$HRCN_AFREQ,
title = "Hurricane-#/year", opacity = 0.7)
# RFLD
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$RFLD_AFREQ) # viridis
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = cville_nri,
fillColor = ~pal(RFLD_AFREQ),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
"Ann. Freq.: ", round(cville_nri$RFLD_AFREQ, 2))
) %>%
addLegend("bottomright", pal = pal, values = cville_nri$RFLD_AFREQ,
title = "Riverine Flooding-#/year", opacity = 0.7)
# SWND
pal <- colorNumeric("plasma", reverse = TRUE, domain = cville_nri$SWND_AFREQ) # viridis
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = cville_nri,
fillColor = ~pal(SWND_AFREQ),
weight = 1,
opacity = 1,
color = "white",
fillOpacity = 0.6,
highlight = highlightOptions(
weight = 2,
fillOpacity = 0.8,
bringToFront = T
),
popup = paste0("Tract Number: ", cville_nri$NAME, "<br>",
"Ann. Freq.: ", round(cville_nri$SWND_AFREQ, 2))
) %>%
addLegend("bottomright", pal = pal, values = cville_nri$SWND_AFREQ,
title = "Strong Wind-#/year", opacity = 0.7)